package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.pojo.Dish;

import java.util.List;

public interface DishService extends IService<Dish> {

    //扩展方法:保存菜品,菜品口味数据
    void saveDishWithFlavor(DishDto dishDto);


    //扩展方法:分页查询菜品数据,包括分类名称
    Page<DishDto> pageDsihDto(Integer page, Integer pageSize, String name);

    //扩展方法:批量删除菜品,以及菜品口味数据,如果有菜品状态为启售,则不做操作
    void deleteByIds(Long[] ids);

    //扩展方法:根据id查询菜品详细信息(包含多个口味数据)
    DishDto getDishByIdWithFlavor(Long id);


    //扩展方法:保存菜品,菜品口味数据
    void updateDishByIdWithFlavor(DishDto dishDto);

    //扩展方法:根据条件(菜品名称,分类id)查询菜品列表
    List<DishDto> listDishDto(Long categoryId, String name);


    //扩展方法:根据id查询套餐对应的菜品信息
    List<DishDto> getDishBySetmealId(Long setmealId);
}
